A storage system manages and controls multiple storage devices configured using RAID (Redundant Array of Independent Disks). A storage system like this can provide a host computer with a storage area of the multiple storage devices as a logical volume.
Storage devices (hereinafter, flash storage), which use NAND-type flash memory as the storage medium, have become widespread in recent years. For example, there is the SSD (Solid State Device). Generally speaking, a flash storage is used as a storage device, which is the basis of a logical volume and the final storage area for data. Recently, the high-speed characteristics of the flash storage are being put to good use by using the flash storage as a cache memory in a storage system.
The NAND-type flash memory has the following characteristic features. The NAND-type flash memory is a nonvolatile semiconductor memory, comprises multiple blocks that serve as data storage areas, and each block comprises multiple pages. Data is written to and read from the NAND-type flash memory in page units. However, the NAND-type flash memory is not able to overwrite data (to write data anew to a page where data is being stored). Therefore, a write-destination page in a NAND-type flash memory must be erased beforehand. Thus, in a case where stored data is to be updated, the NAND-type flash memory stores the updated data as valid data in a different erased page (hereinafter, free page), and manages the pre-update data as invalid data. Furthermore, the NAND-type flash memory can only erase data in units of blocks, which comprise multiple pages. From the standpoint of these characteristic features, the NAND-type flash memory is limited as to the number of erases that can be performed for each block. When this limit to the number of erases is exceeded, this block is no longer able to store data. Thus, the flash storage has a life-span.
In accordance with the characteristic features described hereinabove, when the free pages diminish, data can no longer be written, and a free page must be created by erasing the invalid data, but the data can only be erased in block units. Thus, in order to erase the invalid data, the valid data must first be copied to a different block before the data inside the block can be erased. This process is called reclamation. When a copy process occurs as a result of reclamation, read/write performance drops in accordance with the load. A data write to a different page is linked to a data erase inside the copy-source block, and becomes the cause of flash memory degradation.
Patent Literature 1 discloses technology, which, when storing data in a flash storage, which is the final storage area, prolongs the life of the flash storage by leveling the number of erases in accordance with a storage controller notifying the flash storage of information related to the frequency with which the data is updated and having the flash storage store data for which the update frequency is high in a block having a low number of erases.